// 商品参数模型
const { goodsDyAttr, goodsStaticAttr } = require('../../../models/category');
// 统一数据返回类
const { DataReturn } = require('../../../common/returnclass');

/**
 * @api {Delete} /categories/del_attr/:type/:id 删除分类参数
 * @apiGroup Admin-Categories
 *
 * @apiParam {ObjectId} id 参数id
 * @apiParam {Number} type 1为动态参数 2为静态参数
 *
 * @apiSuccess {Number} code 状态码
 * @apiSuccess {Object} data 返回数据
 * @apiSuccess {String} msg  返回消息
 */
module.exports = async (req, res) => {
	// category 1代表动态参数 2代表静态参数 商品分类id 参数名称
	let { type, id } = req.params;
	
	let result;
	if (type == 1) {
		// 查询参数
		result = await goodsDyAttr.findOne({ _id: id });
		// 参数已存在
		if (!result) return DataReturn.getData(res,400,[],'该参数不存在');
		// 删除数据
		goodsDyAttr.findOneAndDelete({ _id: id })
		.then(()=>{
			// 响应
			DataReturn.getData(res,200,[],'删除参数成功')
		}).catch((err)=>{
			// 响应
			DataReturn.getData(res,400,[],'删除参数失败')
		})
		
	} else {
		// 查询参数
		result = await goodsStaticAttr.findOne({ _id: id });
		// 参数已存在
		if (!result) return DataReturn.getData(res,400,[],'该参数不存在');
		// 删除数据
		goodsStaticAttr.findOneAndDelete({ _id: id })
		.then(()=>{
			// 响应
			DataReturn.getData(res,200,[],'删除参数成功')
		}).catch((err)=>{
			// 响应
			DataReturn.getData(res,400,[],'删除参数失败')
		})
		
	}
}